package ru.products.common.classes;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

class DepositTest {

    /**
     * Unit тест на конструктор
     */
    @Test
    void depositConstructor() {
        Deposit Deposit1 = new Deposit("SomeName", 123.0, "RUB");
        assertEquals("SomeName", Deposit1.getName());
        assertEquals(123.0, Deposit1.getBalance());
        assertEquals("RUB", Deposit1.getCurrency());
    }

    /**
     * Unit тест на метод проверки баланса
     */
    @Test
    void checkBalance() {
        Deposit Deposit1 = new Deposit("SomeName", 123.0, "RUB");
        assertEquals(123.0, Deposit1.checkBalance());
    }

    /**
     * Unit тест на пополнение денег
     */
    @Test
    void refill() {
        Deposit Deposit1 = new Deposit("SomeName", 123.0, "RUB");
        Deposit1.refill(7.5);
        assertEquals(130.5, Deposit1.checkBalance());

    }

    /**
     * Unit тест на закрытие счета
     */
    @Test
    void close() {
        Deposit Deposit1 = new Deposit("SomeName", 123.0, "RUB");
        Deposit1.close();
        assertNull(Deposit1.getName());
        assertNull(Deposit1.getBalance());
        assertNull(Deposit1.getCurrency());
    }
}